home *** CD-ROM | disk | FTP | other *** search
- --------------------------------------------------------------------------------
- -- Weapon Jackhammer
- -- Original Carnage Contest Weapon
- -- Script by DC, August 2009, www.UnrealSoftware.de
- --------------------------------------------------------------------------------
-
- -- Setup Tables
- if cc==nil then cc={} end
- cc.jackhammer={}
-
- -- Load & Prepare Ressources
- cc.jackhammer.gfx_wpn=loadgfx("weapons/jackhammer.bmp") -- Weapon Image
- setmidhandle(cc.jackhammer.gfx_wpn)
- cc.jackhammer.sfx_attack=loadsfx("jackhammer.ogg") -- Attack Sound
- cc.jackhammer.sfx_hitground=loadsfx("crumble.ogg") -- Hit Ground Sound
-
- --------------------------------------------------------------------------------
- -- Weapon: Jackhammer
- --------------------------------------------------------------------------------
-
- cc.jackhammer.id=addweapon("cc.jackhammer","Jackhammer",cc.jackhammer.gfx_wpn,2) -- Add Weapon (2 uses)
- cc.jackhammer.ammo=15 -- 15 Digs
-
- function cc.jackhammer.draw() -- Draw
- -- Draw
- if getplayeraction(0)==0 then
- setblend(blend_alpha)
- setalpha(1)
- setcolor(255,255,255)
- setscale(-getplayerdirection(0),1)
- setrotation(0)
- drawimage(cc.jackhammer.gfx_wpn,getplayerx(0),getplayery(0)+8)
- end
- if weapon_shots<=cc.jackhammer.ammo then
- if weapon_mode==0 then
- hudinfo("Hit [Space] once to activate the jackhammer!")
- elseif weapon_shots<cc.jackhammer.ammo then
- hudinfo("Hit [Space] again to deactivate the jackhammer!")
- end
- end
- end
-
- function cc.jackhammer.attack(attack) -- Attack
- -- Timer
- if weapon_timer>0 then
- weapon_timer=weapon_timer-1
- end
- -- Activate
- if (weapon_mode==0) and (attack==1) then
- weapon_mode=1
- elseif (weapon_mode==1) then
- -- Cancel
- weapon_charge=weapon_charge+1
- if (attack==1) and (weapon_charge>=10) then
- weapon_shots=cc.jackhammer.ammo
- endturn()
- end
- end
- -- Attack
- if (weapon_mode==1) and (weapon_timer<=0) and (weapon_shots<cc.jackhammer.ammo) then
- -- No more weapon switching!
- useweapon(0)
- -- Ground Collision
- inc=0
- if collision(col10x10,getplayerx(0),getplayery(0)+15,1,0)==1 then
- inc=1
- particle(p_smoke,getplayerx(0),getplayery(0)+10)
- playsound(cc.jackhammer.sfx_hitground)
- for j=1,3,1 do
- terrainexplosion(getplayerx(0),getplayery(0)+j*4,15,2)
- end
- end
- -- Player Collision
- if collision(col10x10,getplayerx(0),getplayery(0)+18,0,1)==1 then
- inc=1
- if playercollision()~=0 and playercollision()~=playercurrent() then
- playerdamage(playercollision(),2)
- playsound(sfx_splatter1)
- blood(getplayerx(0),getplayery(0)+14)
- end
- end
- if inc==1 then
- playsound(cc.jackhammer.sfx_attack)
- weapon_shots=weapon_shots+1
- weapon_timer=5
- end
- -- End Turn
- if weapon_shots>=cc.jackhammer.ammo then
- endturn()
- end
- end
- end
-